The data in a multidimensional information system can be defined (or arranged) along multiple dimensions. For example, the data in a sales management system may include time, location, customer, and product dimensions. A dimension may include many members. The members in one dimension can be organized as a hierarchical tree with multiple levels.
FIG. 1 shows an exemplary dimension tree for the data along a product dimension; in which "All Products" is a member; "Furniture" is a member; "Electronics" is a member; "Beds" is a member; and so on. In the dimensional tree, the upward connections are called parent connections, and the downward connections are called child connections. "All Products" is the first level member in the dimension tree; "Furniture" and "Electronics" are the second level members in the dimension tree; "Desks", "Chairs", "Beds", "Home Appliance", and "Office Equipment" are the third level members in the dimension tree; and so on. "Furniture" is the parent of "Desks", "Chairs", and "Beds"; "Furniture" and "Electronics" are children of "All Products"; and so on. A member without a parent is called root member. Specifically, "All Products" is a root member.
In a multidimensional database system having N dimensions with multiple levels per dimension, a data point (or cell) is defined as the intersection of one member from each dimension. The N dimensions form a cube, which contains all data points in the database system. Thus, the more dimensions and levels per dimension, the more complex is the neighboring data points surrounding a given data point. For example, in an N-dimensional database with each dimension having only one level, each data point in the database has 2N immediate neighboring data points or navigation directions. The multidimensional information system are described in greater detail in OLAP Solutions by Erik Thomsen published in 1997. This book is incorporated into this application by reference.
Thus, efforts have been made to develop tools for facilitating users to navigate through multidimensional database and display data points that are being navigated along multiple dimensions. However, the existing data navigation and display tools does not provide the flexibility in navigating data points along multiple dimensions. Specifically, in the existing data navigation and display tools, the navigation paths are limited by the hierarchical structure of the multidimensional database. Thus, a user may not be able to navigate through a multidimensional database in a sequence of paths that fits the user's thought process. In addition, the existing data navigation and display tool displays the data points separately on a computer screen. Thus, it does not present a comprehensive view for the data points that are being navigated.
Furthermore, the existing data navigation and display tool processes multidimensional data points within a single dimensional hierarchy. To change a dimension in the middle of a data navigation process, a user has to perform a so called "pivotal" process to bring a new dimension into focus. In doing so, the user may lose the navigation paths previously performed, thus losing the context and importance of the piece of data that is being currently displayed on the computer screen. Also, such a "pivotal" process is relatively complicated and not easy for an average user to grasp.
There is, therefore, a need for an improved method and apparatus that provide flexible navigation paths through the data points in a multidimensional database.
There is another need for an improved method and apparatus that provide users with a comprehensive graphical view of the data points stored in a multidimensional database, while the data points are being navigated.
There is yet another need to provide an improved method and apparatus for navigating and displaying the data points stored in a multidimensional database, which are easier for users to use.
The present invention provides such a method and apparatus to meet these three needs.